package com.Maykk.Demo01;
// 用 abstract 修饰的方法叫做抽象方法，不能有方法体
// 拥有抽象方法的类必须是抽象类
// 抽象类中可以存在不是抽象方法的普通方法
// 抽象类必须被继承
// 抽象方法必须在子类中重写
// 抽象类不能直接创建对象，需要通过子类对象进行调用

public abstract class Animal { // 抽象类不能实例化对象，只能通过子类调用
    private String type = "小马";
//    public Animal(String type) { // 有参构造方法
//        this.type = type;
//    }
    public String getType() {return type;}
    public void setType(String type) {this.type = type;}

    //以下两个抽象方法由子类重写，继承该抽象类的子类中必须对这两个方法重写
    public abstract void eat();
    public abstract void sleep();

    public void sport(String type) {
        System.out.println(type + "会运动！~");
    }
}
